package com.woniuxy.oa.service.impl;


import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.woniuxy.oa.dao.DeptDAO;
import com.woniuxy.oa.dao.DeptPermDAO;
import com.woniuxy.oa.entity.Dept;
import com.woniuxy.oa.service.DeptService;
import com.woniuxy.oa.util.OaUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Auther: M
 * @Date: 2019/12/24 17:33
 * @Description:
 */
@Service
public class DeptServiceImpl implements DeptService {
    @Autowired
    private DeptDAO deptDAO;
    @Autowired
    private DeptPermDAO deptPermDAO;
    @Override
    public void add(Dept dept) {
        dept.setId(OaUtil.getId());
        for(Integer perm:dept.getIds()){
            deptPermDAO.addDeptPerm(dept.getId(),perm);
        }
        deptDAO.add(dept);
    }

    @Override
    public PageInfo<Dept> getAll(Dept dept) {
        PageHelper.startPage(dept.getPage()==null?1:dept.getPage(),5);
        List<Dept> depts=deptDAO.getAllDeptByCondition(dept);
        PageInfo<Dept>deptses=new PageInfo<>(depts);
        return deptses;
    }

    @Override
    public void del(String id) {
        deptDAO.del(id);
    }

    @Override
    public void delete(String id) {
        deptDAO.del(id);
    }



    @Override
    public Dept getAllDeptById(String id) {
        return deptDAO.getDeptById(id);
    }

    @Override
    public void update(Dept dept) {
        deptDAO.update(dept);
    }

    @Override
    public List<Dept> getAll() {
        return deptDAO.getAll();
    }

}